Aspects of the invention are generally related to data storage, and more particularly to program code such as a hypervisor which supports virtual hosts associated with a data storage subsystem. Enterprise and service provider data storage systems are used to maintain relatively large data sets. A simple data storage subsystem includes a storage array and one or more hosts. Applications Read and Write data by sending JO requests to hosts. The hosts translate the JO requests from a format characterized by designators used by applications, e.g., filename, into a format characterized by designators used by the storage array, e.g., LUN, cylinder and track, in order to prompt a Read or Write in accordance with the JO requests. Clusters of data storage subsystems can be organized into a data center. Groups of data centers can be organized into a single enterprise or service provider data storage system.
It is known to implement multiple virtual hosts on a single physical hardware platform such as a line card or server. A computer program such as a hypervisor manages sharing of the resources of the hardware platform among the virtual hosts. In particular, the hypervisor manages operation of guest operating systems which are associated with the virtual hosts by sharing processing and memory resources such that, from the perspective of each guest operating system, the resources appear to be dedicated to that guest operating system. Consequently, individual hardware platforms need not be dedicated to individual hosts, and a variety of virtual hosts may be supported by a physical host device.
One drawback to virtual hosts is that a hypervisor reboot can be particularly disruptive. Unlike a reboot of a non-virtualized physical host device, reboot of a virtualized host platform tends to disrupt multiple guest operating systems. In the case of a planned reboot, storage administrators typically shut down the guest operating systems or migrate those guest operating systems to another hypervisor located on another server before rebooting the hypervisor, e.g., before upgrading the hypervisor code. Consequently, the advantages of supporting multiple virtual hosts on a single hardware platform lead to disadvantages when a reboot is performed.